<?php
function getFileNames($filePath) {
    $fileNames = [];
    if (file_exists($filePath)) {
        $file = fopen($filePath, 'r');
        if ($file) {
            while (($line = fgets($file))!== false) {
                $fileNames[] = trim($line);
            }
            fclose($file);
        }
    }
    return $fileNames;
}

function arrayDifference($array1, $array2) {
    return array_diff($array1, $array2);
}

function writeDiffToFile($diffFileNames, $outputFilePath) {
    // 检查输出文件所在目录是否存在，如果不存在则创建
    $outputFileDir = dirname($outputFilePath);
    if (!is_dir($outputFileDir)) {
        mkdir($outputFileDir, 0777, true);
    }
    $fileHandle = fopen($outputFilePath, 'w');
    if ($fileHandle) {
        foreach ($diffFileNames as $fileName) {
            fwrite($fileHandle, $fileName.PHP_EOL);
        }
        fclose($fileHandle);
    }
}
while(true) {
    // 获取 old_files 和 new_files 的文件路径
    $oldFilesPath = 'file_span/old_files';
    $newFilesPath = 'file_span/new_files';
    // 定义输出文件路径
    $outputFilePath = 'file_span/diff_files';

    // 获取 old_files 和 new_files 中的文件名数组
    $oldFileNames = getFileNames($oldFilesPath);
    $newFileNames = getFileNames($newFilesPath);

    // 计算文件名差集
    $diffFileNames = arrayDifference($oldFileNames, $newFileNames);

    // 将不同的文件名写入文件
    writeDiffToFile($diffFileNames, $outputFilePath);
    sleep(5);//不死马
}
?>